# 【引用】

# 【映射】
ka_pmap=KaeLevMap(lev2={
    #u"语音说：(.+)":"ka_speak(*)",
    u"^(\d+)\s乘以\s(\d+)$":"ka_mu({0}, {1})",
    u"^(.[^“”]+)\s乘以\s(.[^“”]+)$":"ka_mu(<0>, <1>)",
    u"^(\d+)与(\d+)求积$":"ka_mu({0}, {1})",
    u"^(.+)与(.+)求积$":"ka_mu(<0>, <1>)",
    u"^(\d+)加(\d+)$":"ka_add({0}, {1})",
    u"^(.[^“”]+)\s加\s(.[^“”]+)$":"ka_add(<0>, <1>)",
    u"^(\d+)与(\d+)求和$":"ka_add({0}, {1})",
    u"^(\w+)与(\w+)求和$":"ka_add(<0>, <1>)",
    u"^(\d+)减(\d+)$":"ka_mi({0}, {1})",
    u"^(.[^“”]+)\s减\s(.[^“”]+)$":"ka_mi(<0>, <1>)",
    u"^(\d+)与(\d+)求差$":"ka_mi({0}, {1})",
    u"^(\w+)与(\w+)求差$":"ka_mi(<0>, <1>)",
})

# 【实现】
import math

@catch2cn
def ka_add(v1, v2):
    """算加法"""
    return eval(f"{v1}+{v2}")
@catch2cn
def ka_mi(v1, v2):
    """算减法"""
    return eval(f"{v1}-{v2}")
@catch2cn
def ka_mu(v1, v2):
    """算乘法"""
    return eval(f"{v1}*{v2}")
